﻿/*
Copyright © 2011 Nokia Corporation. All rights reserved.
Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation. 
Java and all Java-based marks are trademarks or registered trademarks of 
Sun Microsystems, Inc. Other product and company names mentioned herein may be 
trademarks or trade names of their respective owners.

Subject to the conditions below, you may, without charge:

·  Use, copy, modify and/or merge copies of this software and 
   associated content and documentation files (the “Software”)

·  Publish, distribute, sub-licence and/or sell new software 
   derived from or incorporating the Software.

Some of the documentation, content and/or software maybe licensed under open source software or other licenses.  To the extent such documentation, content and/or software are included, licenses and/or other terms and conditions shall apply in addition and/or instead of this notice. The exact terms of the licenses, disclaimers, acknowledgements and notices are reproduced in the materials provided.

This file, unmodified, shall be included with all copies or substantial portions
of the Software that are distributed in source code form.

The Software cannot constitute the primary value of any new software derived 
from or incorporating the Software.

Any person dealing with the Software shall not misrepresent the source of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

// 
// This code was auto-generated by Microsoft.Silverlight.Phone.ServiceReference, version 3.7.0.0
// 
namespace Carpool.Bing.Search {
    using System.Runtime.Serialization;
    
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="RequestBase", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchRequest))]
    public partial class RequestBase : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Microsoft.Phone.Controls.Maps.Credentials CredentialsField;
        
        private string CultureField;
        
        private Carpool.Bing.Search.ExecutionOptions ExecutionOptionsField;
        
        private Carpool.Bing.Search.UserProfile UserProfileField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Microsoft.Phone.Controls.Maps.Credentials Credentials {
            get {
                return this.CredentialsField;
            }
            set {
                if ((object.ReferenceEquals(this.CredentialsField, value) != true)) {
                    this.CredentialsField = value;
                    this.RaisePropertyChanged("Credentials");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Culture {
            get {
                return this.CultureField;
            }
            set {
                if ((object.ReferenceEquals(this.CultureField, value) != true)) {
                    this.CultureField = value;
                    this.RaisePropertyChanged("Culture");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.ExecutionOptions ExecutionOptions {
            get {
                return this.ExecutionOptionsField;
            }
            set {
                if ((object.ReferenceEquals(this.ExecutionOptionsField, value) != true)) {
                    this.ExecutionOptionsField = value;
                    this.RaisePropertyChanged("ExecutionOptions");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.UserProfile UserProfile {
            get {
                return this.UserProfileField;
            }
            set {
                if ((object.ReferenceEquals(this.UserProfileField, value) != true)) {
                    this.UserProfileField = value;
                    this.RaisePropertyChanged("UserProfile");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ExecutionOptions", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public partial class ExecutionOptions : object, System.ComponentModel.INotifyPropertyChanged {
        
        private bool SuppressFaultsField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool SuppressFaults {
            get {
                return this.SuppressFaultsField;
            }
            set {
                if ((this.SuppressFaultsField.Equals(value) != true)) {
                    this.SuppressFaultsField = value;
                    this.RaisePropertyChanged("SuppressFaults");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="UserProfile", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.Rectangle))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Polygon))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Circle))]
    public partial class UserProfile : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Carpool.Bing.Search.Heading CurrentHeadingField;
        
        private Carpool.Bing.Search.UserLocation CurrentLocationField;
        
        private Carpool.Bing.Search.DeviceType DeviceTypeField;
        
        private Carpool.Bing.Search.DistanceUnit DistanceUnitField;
        
        private string IPAddressField;
        
        private Microsoft.Phone.Controls.Maps.Platform.ShapeBase MapViewField;
        
        private Carpool.Bing.Search.SizeOfint ScreenSizeField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Heading CurrentHeading {
            get {
                return this.CurrentHeadingField;
            }
            set {
                if ((object.ReferenceEquals(this.CurrentHeadingField, value) != true)) {
                    this.CurrentHeadingField = value;
                    this.RaisePropertyChanged("CurrentHeading");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.UserLocation CurrentLocation {
            get {
                return this.CurrentLocationField;
            }
            set {
                if ((object.ReferenceEquals(this.CurrentLocationField, value) != true)) {
                    this.CurrentLocationField = value;
                    this.RaisePropertyChanged("CurrentLocation");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.DeviceType DeviceType {
            get {
                return this.DeviceTypeField;
            }
            set {
                if ((this.DeviceTypeField.Equals(value) != true)) {
                    this.DeviceTypeField = value;
                    this.RaisePropertyChanged("DeviceType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.DistanceUnit DistanceUnit {
            get {
                return this.DistanceUnitField;
            }
            set {
                if ((this.DistanceUnitField.Equals(value) != true)) {
                    this.DistanceUnitField = value;
                    this.RaisePropertyChanged("DistanceUnit");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string IPAddress {
            get {
                return this.IPAddressField;
            }
            set {
                if ((object.ReferenceEquals(this.IPAddressField, value) != true)) {
                    this.IPAddressField = value;
                    this.RaisePropertyChanged("IPAddress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Microsoft.Phone.Controls.Maps.Platform.ShapeBase MapView {
            get {
                return this.MapViewField;
            }
            set {
                if ((object.ReferenceEquals(this.MapViewField, value) != true)) {
                    this.MapViewField = value;
                    this.RaisePropertyChanged("MapView");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.SizeOfint ScreenSize {
            get {
                return this.ScreenSizeField;
            }
            set {
                if ((object.ReferenceEquals(this.ScreenSizeField, value) != true)) {
                    this.ScreenSizeField = value;
                    this.RaisePropertyChanged("ScreenSize");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchRequest", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class SearchRequest : Carpool.Bing.Search.RequestBase {
        
        private string QueryField;
        
        private Carpool.Bing.Search.SearchOptions SearchOptionsField;
        
        private Carpool.Bing.Search.StructuredSearchQuery StructuredQueryField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Query {
            get {
                return this.QueryField;
            }
            set {
                if ((object.ReferenceEquals(this.QueryField, value) != true)) {
                    this.QueryField = value;
                    this.RaisePropertyChanged("Query");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.SearchOptions SearchOptions {
            get {
                return this.SearchOptionsField;
            }
            set {
                if ((object.ReferenceEquals(this.SearchOptionsField, value) != true)) {
                    this.SearchOptionsField = value;
                    this.RaisePropertyChanged("SearchOptions");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.StructuredSearchQuery StructuredQuery {
            get {
                return this.StructuredQueryField;
            }
            set {
                if ((object.ReferenceEquals(this.StructuredQueryField, value) != true)) {
                    this.StructuredQueryField = value;
                    this.RaisePropertyChanged("StructuredQuery");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchOptions", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class SearchOptions : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Nullable<bool> AutocorrectQueryField;
        
        private System.Nullable<int> CountField;
        
        private Carpool.Bing.Search.FilterExpressionBase FiltersField;
        
        private Carpool.Bing.Search.ListingType ListingTypeField;
        
        private bool ParseOnlyField;
        
        private System.Nullable<double> RadiusField;
        
        private Carpool.Bing.Search.SortOrder SortOrderField;
        
        private int StartingIndexField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<bool> AutocorrectQuery {
            get {
                return this.AutocorrectQueryField;
            }
            set {
                if ((this.AutocorrectQueryField.Equals(value) != true)) {
                    this.AutocorrectQueryField = value;
                    this.RaisePropertyChanged("AutocorrectQuery");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<int> Count {
            get {
                return this.CountField;
            }
            set {
                if ((this.CountField.Equals(value) != true)) {
                    this.CountField = value;
                    this.RaisePropertyChanged("Count");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.FilterExpressionBase Filters {
            get {
                return this.FiltersField;
            }
            set {
                if ((object.ReferenceEquals(this.FiltersField, value) != true)) {
                    this.FiltersField = value;
                    this.RaisePropertyChanged("Filters");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.ListingType ListingType {
            get {
                return this.ListingTypeField;
            }
            set {
                if ((this.ListingTypeField.Equals(value) != true)) {
                    this.ListingTypeField = value;
                    this.RaisePropertyChanged("ListingType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool ParseOnly {
            get {
                return this.ParseOnlyField;
            }
            set {
                if ((this.ParseOnlyField.Equals(value) != true)) {
                    this.ParseOnlyField = value;
                    this.RaisePropertyChanged("ParseOnly");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<double> Radius {
            get {
                return this.RadiusField;
            }
            set {
                if ((this.RadiusField.Equals(value) != true)) {
                    this.RadiusField = value;
                    this.RaisePropertyChanged("Radius");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.SortOrder SortOrder {
            get {
                return this.SortOrderField;
            }
            set {
                if ((this.SortOrderField.Equals(value) != true)) {
                    this.SortOrderField = value;
                    this.RaisePropertyChanged("SortOrder");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int StartingIndex {
            get {
                return this.StartingIndexField;
            }
            set {
                if ((this.StartingIndexField.Equals(value) != true)) {
                    this.StartingIndexField = value;
                    this.RaisePropertyChanged("StartingIndex");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="StructuredSearchQuery", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class StructuredSearchQuery : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string KeywordField;
        
        private string LocationField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Keyword {
            get {
                return this.KeywordField;
            }
            set {
                if ((object.ReferenceEquals(this.KeywordField, value) != true)) {
                    this.KeywordField = value;
                    this.RaisePropertyChanged("Keyword");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Location {
            get {
                return this.LocationField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationField, value) != true)) {
                    this.LocationField = value;
                    this.RaisePropertyChanged("Location");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Heading", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public partial class Heading : object, System.ComponentModel.INotifyPropertyChanged {
        
        private double OrientationField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public double Orientation {
            get {
                return this.OrientationField;
            }
            set {
                if ((this.OrientationField.Equals(value) != true)) {
                    this.OrientationField = value;
                    this.RaisePropertyChanged("Orientation");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="UserLocation", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public partial class UserLocation : Microsoft.Phone.Controls.Maps.Platform.Location, System.ComponentModel.INotifyPropertyChanged {
        
        private Carpool.Bing.Search.Confidence ConfidenceField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Confidence Confidence {
            get {
                return this.ConfidenceField;
            }
            set {
                if ((this.ConfidenceField.Equals(value) != true)) {
                    this.ConfidenceField = value;
                    this.RaisePropertyChanged("Confidence");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SizeOfint", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public partial class SizeOfint : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int HeightField;
        
        private int WidthField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Height {
            get {
                return this.HeightField;
            }
            set {
                if ((this.HeightField.Equals(value) != true)) {
                    this.HeightField = value;
                    this.RaisePropertyChanged("Height");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Width {
            get {
                return this.WidthField;
            }
            set {
                if ((this.WidthField.Equals(value) != true)) {
                    this.WidthField = value;
                    this.RaisePropertyChanged("Width");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Polygon", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public partial class Polygon : Microsoft.Phone.Controls.Maps.Platform.ShapeBase, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Collections.ObjectModel.ObservableCollection<Microsoft.Phone.Controls.Maps.Platform.Location> VerticesField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Microsoft.Phone.Controls.Maps.Platform.Location> Vertices {
            get {
                return this.VerticesField;
            }
            set {
                if ((object.ReferenceEquals(this.VerticesField, value) != true)) {
                    this.VerticesField = value;
                    this.RaisePropertyChanged("Vertices");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Circle", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.GeocodeLocation))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.UserLocation))]
    public partial class Circle : Microsoft.Phone.Controls.Maps.Platform.ShapeBase, System.ComponentModel.INotifyPropertyChanged {
        
        private Microsoft.Phone.Controls.Maps.Platform.Location CenterField;
        
        private Carpool.Bing.Search.DistanceUnit DistanceUnitField;
        
        private double RadiusField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Microsoft.Phone.Controls.Maps.Platform.Location Center {
            get {
                return this.CenterField;
            }
            set {
                if ((object.ReferenceEquals(this.CenterField, value) != true)) {
                    this.CenterField = value;
                    this.RaisePropertyChanged("Center");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.DistanceUnit DistanceUnit {
            get {
                return this.DistanceUnitField;
            }
            set {
                if ((this.DistanceUnitField.Equals(value) != true)) {
                    this.DistanceUnitField = value;
                    this.RaisePropertyChanged("DistanceUnit");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public double Radius {
            get {
                return this.RadiusField;
            }
            set {
                if ((this.RadiusField.Equals(value) != true)) {
                    this.RadiusField = value;
                    this.RaisePropertyChanged("Radius");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="DeviceType", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public enum DeviceType : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Desktop = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Mobile = 1,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="DistanceUnit", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public enum DistanceUnit : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Kilometer = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Mile = 1,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Confidence", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public enum Confidence : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        High = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Medium = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Low = 2,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="GeocodeLocation", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public partial class GeocodeLocation : Microsoft.Phone.Controls.Maps.Platform.Location, System.ComponentModel.INotifyPropertyChanged {
        
        private string CalculationMethodField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CalculationMethod {
            get {
                return this.CalculationMethodField;
            }
            set {
                if ((object.ReferenceEquals(this.CalculationMethodField, value) != true)) {
                    this.CalculationMethodField = value;
                    this.RaisePropertyChanged("CalculationMethod");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="FilterExpressionBase", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpression))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpressionClause))]
    public partial class FilterExpressionBase : object, System.ComponentModel.INotifyPropertyChanged {
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ListingType", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public enum ListingType : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Business = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        CommunityContent = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Person = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Unknown = 3,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SortOrder", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public enum SortOrder : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Relevance = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Distance = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Rating = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Popularity = 3,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="FilterExpression", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<object>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<string>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<Carpool.Bing.Search.Neighborhood, int>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, object>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, Carpool.Bing.Search.CategorySpecificPropertySet>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchRequest))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchOptions))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ListingType))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SortOrder))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.StructuredSearchQuery))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResponse))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.QuerySuggestion))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultSet>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResultSet))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchRegion>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchRegion))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.AvailableFilter>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.AvailableFilter))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ValueListFilter))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Neighborhood))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterValue))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Category))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.RangeFilter))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.CategoryCount>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CategoryCount))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Parse))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultBase>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResultBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.LocationData))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CommunityContentSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.BusinessSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Category>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CategorySpecificPropertySet))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Neighborhood>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.PersonSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.RequestBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Credentials))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ExecutionOptions))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.UserProfile))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Heading))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.UserLocation))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.Location))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.GeocodeLocation))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Confidence))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.DeviceType))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.DistanceUnit))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.ShapeBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.Rectangle))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Polygon))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Microsoft.Phone.Controls.Maps.Platform.Location>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Circle))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SizeOfint))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpressionBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.LogicalOperator))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CompareOperator))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpressionClause))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.FilterExpressionBase>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ResponseBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ResponseSummary))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.AuthenticationResultCode))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ResponseStatusCode))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.GeocodeResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Address))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.GeocodeLocation>))]
    public partial class FilterExpression : Carpool.Bing.Search.FilterExpressionBase {
        
        private Carpool.Bing.Search.CompareOperator CompareOperatorField;
        
        private object FilterValueField;
        
        private int PropertyIdField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.CompareOperator CompareOperator {
            get {
                return this.CompareOperatorField;
            }
            set {
                if ((this.CompareOperatorField.Equals(value) != true)) {
                    this.CompareOperatorField = value;
                    this.RaisePropertyChanged("CompareOperator");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public object FilterValue {
            get {
                return this.FilterValueField;
            }
            set {
                if ((object.ReferenceEquals(this.FilterValueField, value) != true)) {
                    this.FilterValueField = value;
                    this.RaisePropertyChanged("FilterValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int PropertyId {
            get {
                return this.PropertyIdField;
            }
            set {
                if ((this.PropertyIdField.Equals(value) != true)) {
                    this.PropertyIdField = value;
                    this.RaisePropertyChanged("PropertyId");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="FilterExpressionClause", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public partial class FilterExpressionClause : Carpool.Bing.Search.FilterExpressionBase {
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.FilterExpressionBase> ExpressionsField;
        
        private Carpool.Bing.Search.LogicalOperator LogicalOperatorField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.FilterExpressionBase> Expressions {
            get {
                return this.ExpressionsField;
            }
            set {
                if ((object.ReferenceEquals(this.ExpressionsField, value) != true)) {
                    this.ExpressionsField = value;
                    this.RaisePropertyChanged("Expressions");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.LogicalOperator LogicalOperator {
            get {
                return this.LogicalOperatorField;
            }
            set {
                if ((this.LogicalOperatorField.Equals(value) != true)) {
                    this.LogicalOperatorField = value;
                    this.RaisePropertyChanged("LogicalOperator");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Neighborhood", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class Neighborhood : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string CityField;
        
        private int IdField;
        
        private string NameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string City {
            get {
                return this.CityField;
            }
            set {
                if ((object.ReferenceEquals(this.CityField, value) != true)) {
                    this.CityField = value;
                    this.RaisePropertyChanged("City");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CategorySpecificPropertySet", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class CategorySpecificPropertySet : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string CategoryNameField;
        
        private System.Collections.Generic.Dictionary<string, object> PropertiesField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CategoryName {
            get {
                return this.CategoryNameField;
            }
            set {
                if ((object.ReferenceEquals(this.CategoryNameField, value) != true)) {
                    this.CategoryNameField = value;
                    this.RaisePropertyChanged("CategoryName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.Generic.Dictionary<string, object> Properties {
            get {
                return this.PropertiesField;
            }
            set {
                if ((object.ReferenceEquals(this.PropertiesField, value) != true)) {
                    this.PropertiesField = value;
                    this.RaisePropertyChanged("Properties");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchResponse", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class SearchResponse : Carpool.Bing.Search.ResponseBase {
        
        private Carpool.Bing.Search.QuerySuggestion QuerySuggestionField;
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultSet> ResultSetsField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.QuerySuggestion QuerySuggestion {
            get {
                return this.QuerySuggestionField;
            }
            set {
                if ((object.ReferenceEquals(this.QuerySuggestionField, value) != true)) {
                    this.QuerySuggestionField = value;
                    this.RaisePropertyChanged("QuerySuggestion");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultSet> ResultSets {
            get {
                return this.ResultSetsField;
            }
            set {
                if ((object.ReferenceEquals(this.ResultSetsField, value) != true)) {
                    this.ResultSetsField = value;
                    this.RaisePropertyChanged("ResultSets");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="QuerySuggestion", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class QuerySuggestion : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string QueryField;
        
        private Carpool.Bing.Search.StructuredSearchQuery StructuredQueryField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Query {
            get {
                return this.QueryField;
            }
            set {
                if ((object.ReferenceEquals(this.QueryField, value) != true)) {
                    this.QueryField = value;
                    this.RaisePropertyChanged("Query");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.StructuredSearchQuery StructuredQuery {
            get {
                return this.StructuredQueryField;
            }
            set {
                if ((object.ReferenceEquals(this.StructuredQueryField, value) != true)) {
                    this.StructuredQueryField = value;
                    this.RaisePropertyChanged("StructuredQuery");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchResultSet", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class SearchResultSet : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchRegion> AlternateSearchRegionsField;
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.AvailableFilter> AvailableFiltersField;
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.CategoryCount> CategoryCountsField;
        
        private int EstimatedMatchesField;
        
        private string ListingTypeField;
        
        private Carpool.Bing.Search.Parse ParseField;
        
        private Carpool.Bing.Search.Category QueryCategoryField;
        
        private bool QueryCorrectedField;
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultBase> ResultsField;
        
        private Carpool.Bing.Search.SearchRegion SearchRegionField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchRegion> AlternateSearchRegions {
            get {
                return this.AlternateSearchRegionsField;
            }
            set {
                if ((object.ReferenceEquals(this.AlternateSearchRegionsField, value) != true)) {
                    this.AlternateSearchRegionsField = value;
                    this.RaisePropertyChanged("AlternateSearchRegions");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.AvailableFilter> AvailableFilters {
            get {
                return this.AvailableFiltersField;
            }
            set {
                if ((object.ReferenceEquals(this.AvailableFiltersField, value) != true)) {
                    this.AvailableFiltersField = value;
                    this.RaisePropertyChanged("AvailableFilters");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.CategoryCount> CategoryCounts {
            get {
                return this.CategoryCountsField;
            }
            set {
                if ((object.ReferenceEquals(this.CategoryCountsField, value) != true)) {
                    this.CategoryCountsField = value;
                    this.RaisePropertyChanged("CategoryCounts");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int EstimatedMatches {
            get {
                return this.EstimatedMatchesField;
            }
            set {
                if ((this.EstimatedMatchesField.Equals(value) != true)) {
                    this.EstimatedMatchesField = value;
                    this.RaisePropertyChanged("EstimatedMatches");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ListingType {
            get {
                return this.ListingTypeField;
            }
            set {
                if ((object.ReferenceEquals(this.ListingTypeField, value) != true)) {
                    this.ListingTypeField = value;
                    this.RaisePropertyChanged("ListingType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Parse Parse {
            get {
                return this.ParseField;
            }
            set {
                if ((object.ReferenceEquals(this.ParseField, value) != true)) {
                    this.ParseField = value;
                    this.RaisePropertyChanged("Parse");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Category QueryCategory {
            get {
                return this.QueryCategoryField;
            }
            set {
                if ((object.ReferenceEquals(this.QueryCategoryField, value) != true)) {
                    this.QueryCategoryField = value;
                    this.RaisePropertyChanged("QueryCategory");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool QueryCorrected {
            get {
                return this.QueryCorrectedField;
            }
            set {
                if ((this.QueryCorrectedField.Equals(value) != true)) {
                    this.QueryCorrectedField = value;
                    this.RaisePropertyChanged("QueryCorrected");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultBase> Results {
            get {
                return this.ResultsField;
            }
            set {
                if ((object.ReferenceEquals(this.ResultsField, value) != true)) {
                    this.ResultsField = value;
                    this.RaisePropertyChanged("Results");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.SearchRegion SearchRegion {
            get {
                return this.SearchRegionField;
            }
            set {
                if ((object.ReferenceEquals(this.SearchRegionField, value) != true)) {
                    this.SearchRegionField = value;
                    this.RaisePropertyChanged("SearchRegion");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchRegion", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.Rectangle))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Polygon))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Circle))]
    public partial class SearchRegion : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Microsoft.Phone.Controls.Maps.Platform.ShapeBase BoundingAreaField;
        
        private Carpool.Bing.Search.GeocodeResult GeocodeLocationField;
        
        private string SourceField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Microsoft.Phone.Controls.Maps.Platform.ShapeBase BoundingArea {
            get {
                return this.BoundingAreaField;
            }
            set {
                if ((object.ReferenceEquals(this.BoundingAreaField, value) != true)) {
                    this.BoundingAreaField = value;
                    this.RaisePropertyChanged("BoundingArea");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.GeocodeResult GeocodeLocation {
            get {
                return this.GeocodeLocationField;
            }
            set {
                if ((object.ReferenceEquals(this.GeocodeLocationField, value) != true)) {
                    this.GeocodeLocationField = value;
                    this.RaisePropertyChanged("GeocodeLocation");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Source {
            get {
                return this.SourceField;
            }
            set {
                if ((object.ReferenceEquals(this.SourceField, value) != true)) {
                    this.SourceField = value;
                    this.RaisePropertyChanged("Source");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="AvailableFilter", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ValueListFilter))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.RangeFilter))]
    public partial class AvailableFilter : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int PropertyIdField;
        
        private string PropertyNameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int PropertyId {
            get {
                return this.PropertyIdField;
            }
            set {
                if ((this.PropertyIdField.Equals(value) != true)) {
                    this.PropertyIdField = value;
                    this.RaisePropertyChanged("PropertyId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string PropertyName {
            get {
                return this.PropertyNameField;
            }
            set {
                if ((object.ReferenceEquals(this.PropertyNameField, value) != true)) {
                    this.PropertyNameField = value;
                    this.RaisePropertyChanged("PropertyName");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ValueListFilter", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<object>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<string>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<Carpool.Bing.Search.Neighborhood, int>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, object>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, Carpool.Bing.Search.CategorySpecificPropertySet>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchRequest))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchOptions))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ListingType))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SortOrder))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.StructuredSearchQuery))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResponse))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.QuerySuggestion))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultSet>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResultSet))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchRegion>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchRegion))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.AvailableFilter>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.AvailableFilter))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Neighborhood))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterValue))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Category))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.RangeFilter))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.CategoryCount>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CategoryCount))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Parse))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultBase>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResultBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.LocationData))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CommunityContentSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.BusinessSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Category>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CategorySpecificPropertySet))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Neighborhood>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.PersonSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.RequestBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Credentials))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ExecutionOptions))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.UserProfile))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Heading))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.UserLocation))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.Location))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.GeocodeLocation))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Confidence))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.DeviceType))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.DistanceUnit))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.ShapeBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.Rectangle))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Polygon))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Microsoft.Phone.Controls.Maps.Platform.Location>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Circle))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SizeOfint))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpressionBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.LogicalOperator))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpression))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CompareOperator))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpressionClause))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.FilterExpressionBase>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ResponseBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ResponseSummary))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.AuthenticationResultCode))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ResponseStatusCode))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.GeocodeResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Address))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.GeocodeLocation>))]
    public partial class ValueListFilter : Carpool.Bing.Search.AvailableFilter {
        
        private System.Collections.ObjectModel.ObservableCollection<object> ValuesField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<object> Values {
            get {
                return this.ValuesField;
            }
            set {
                if ((object.ReferenceEquals(this.ValuesField, value) != true)) {
                    this.ValuesField = value;
                    this.RaisePropertyChanged("Values");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="FilterValue", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class FilterValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int IdField;
        
        private string NameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Category", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class Category : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int IdField;
        
        private string NameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="RangeFilter", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<object>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<string>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<Carpool.Bing.Search.Neighborhood, int>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, object>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<int, Carpool.Bing.Search.CategorySpecificPropertySet>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchRequest))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchOptions))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ListingType))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SortOrder))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.StructuredSearchQuery))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResponse))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.QuerySuggestion))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultSet>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResultSet))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchRegion>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchRegion))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.AvailableFilter>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.AvailableFilter))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ValueListFilter))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Neighborhood))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterValue))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Category))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.CategoryCount>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CategoryCount))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Parse))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.SearchResultBase>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResultBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.LocationData))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CommunityContentSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.BusinessSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Category>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CategorySpecificPropertySet))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Neighborhood>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.PersonSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.RequestBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Credentials))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ExecutionOptions))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.UserProfile))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Heading))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.UserLocation))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.Location))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.GeocodeLocation))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Confidence))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.DeviceType))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.DistanceUnit))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.ShapeBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Microsoft.Phone.Controls.Maps.Platform.Rectangle))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Polygon))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Microsoft.Phone.Controls.Maps.Platform.Location>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Circle))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SizeOfint))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpressionBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.LogicalOperator))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpression))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CompareOperator))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.FilterExpressionClause))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.FilterExpressionBase>))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ResponseBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ResponseSummary))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.AuthenticationResultCode))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.ResponseStatusCode))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.GeocodeResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.Address))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.GeocodeLocation>))]
    public partial class RangeFilter : Carpool.Bing.Search.AvailableFilter {
        
        private object MaximumValueField;
        
        private object MinimumValueField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public object MaximumValue {
            get {
                return this.MaximumValueField;
            }
            set {
                if ((object.ReferenceEquals(this.MaximumValueField, value) != true)) {
                    this.MaximumValueField = value;
                    this.RaisePropertyChanged("MaximumValue");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public object MinimumValue {
            get {
                return this.MinimumValueField;
            }
            set {
                if ((object.ReferenceEquals(this.MinimumValueField, value) != true)) {
                    this.MinimumValueField = value;
                    this.RaisePropertyChanged("MinimumValue");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CategoryCount", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class CategoryCount : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Carpool.Bing.Search.Category CategoryField;
        
        private int CountField;
        
        private System.Collections.Generic.Dictionary<Carpool.Bing.Search.Neighborhood, int> CountByNeighborhoodField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Category Category {
            get {
                return this.CategoryField;
            }
            set {
                if ((object.ReferenceEquals(this.CategoryField, value) != true)) {
                    this.CategoryField = value;
                    this.RaisePropertyChanged("Category");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Count {
            get {
                return this.CountField;
            }
            set {
                if ((this.CountField.Equals(value) != true)) {
                    this.CountField = value;
                    this.RaisePropertyChanged("Count");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.Generic.Dictionary<Carpool.Bing.Search.Neighborhood, int> CountByNeighborhood {
            get {
                return this.CountByNeighborhoodField;
            }
            set {
                if ((object.ReferenceEquals(this.CountByNeighborhoodField, value) != true)) {
                    this.CountByNeighborhoodField = value;
                    this.RaisePropertyChanged("CountByNeighborhood");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Parse", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class Parse : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Carpool.Bing.Search.Address AddressField;
        
        private string KeywordField;
        
        private string LandmarkField;
        
        private string LocationSeparatorField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Address Address {
            get {
                return this.AddressField;
            }
            set {
                if ((object.ReferenceEquals(this.AddressField, value) != true)) {
                    this.AddressField = value;
                    this.RaisePropertyChanged("Address");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Keyword {
            get {
                return this.KeywordField;
            }
            set {
                if ((object.ReferenceEquals(this.KeywordField, value) != true)) {
                    this.KeywordField = value;
                    this.RaisePropertyChanged("Keyword");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Landmark {
            get {
                return this.LandmarkField;
            }
            set {
                if ((object.ReferenceEquals(this.LandmarkField, value) != true)) {
                    this.LandmarkField = value;
                    this.RaisePropertyChanged("Landmark");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string LocationSeparator {
            get {
                return this.LocationSeparatorField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationSeparatorField, value) != true)) {
                    this.LocationSeparatorField = value;
                    this.RaisePropertyChanged("LocationSeparator");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="SearchResultBase", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.CommunityContentSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.BusinessSearchResult))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.PersonSearchResult))]
    public partial class SearchResultBase : object, System.ComponentModel.INotifyPropertyChanged {
        
        private double DistanceField;
        
        private string IdField;
        
        private Carpool.Bing.Search.LocationData LocationDataField;
        
        private string NameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public double Distance {
            get {
                return this.DistanceField;
            }
            set {
                if ((this.DistanceField.Equals(value) != true)) {
                    this.DistanceField = value;
                    this.RaisePropertyChanged("Distance");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Id {
            get {
                return this.IdField;
            }
            set {
                if ((object.ReferenceEquals(this.IdField, value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.LocationData LocationData {
            get {
                return this.LocationDataField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationDataField, value) != true)) {
                    this.LocationDataField = value;
                    this.RaisePropertyChanged("LocationData");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Name {
            get {
                return this.NameField;
            }
            set {
                if ((object.ReferenceEquals(this.NameField, value) != true)) {
                    this.NameField = value;
                    this.RaisePropertyChanged("Name");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="LocationData", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class LocationData : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Carpool.Bing.Search.Confidence ConfidenceField;
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.GeocodeLocation> LocationsField;
        
        private System.Collections.ObjectModel.ObservableCollection<string> MatchCodesField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Confidence Confidence {
            get {
                return this.ConfidenceField;
            }
            set {
                if ((this.ConfidenceField.Equals(value) != true)) {
                    this.ConfidenceField = value;
                    this.RaisePropertyChanged("Confidence");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.GeocodeLocation> Locations {
            get {
                return this.LocationsField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationsField, value) != true)) {
                    this.LocationsField = value;
                    this.RaisePropertyChanged("Locations");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<string> MatchCodes {
            get {
                return this.MatchCodesField;
            }
            set {
                if ((object.ReferenceEquals(this.MatchCodesField, value) != true)) {
                    this.MatchCodesField = value;
                    this.RaisePropertyChanged("MatchCodes");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CommunityContentSearchResult", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class CommunityContentSearchResult : Carpool.Bing.Search.SearchResultBase {
        
        private System.Collections.Generic.Dictionary<string, object> AdditionalPropertiesField;
        
        private string DescriptionField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.Generic.Dictionary<string, object> AdditionalProperties {
            get {
                return this.AdditionalPropertiesField;
            }
            set {
                if ((object.ReferenceEquals(this.AdditionalPropertiesField, value) != true)) {
                    this.AdditionalPropertiesField = value;
                    this.RaisePropertyChanged("AdditionalProperties");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Description {
            get {
                return this.DescriptionField;
            }
            set {
                if ((object.ReferenceEquals(this.DescriptionField, value) != true)) {
                    this.DescriptionField = value;
                    this.RaisePropertyChanged("Description");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="BusinessSearchResult", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class BusinessSearchResult : Carpool.Bing.Search.SearchResultBase {
        
        private System.Collections.Generic.Dictionary<string, object> AdditionalPropertiesField;
        
        private Carpool.Bing.Search.Address AddressField;
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Category> CategoriesField;
        
        private System.Collections.Generic.Dictionary<int, Carpool.Bing.Search.CategorySpecificPropertySet> CategorySpecificPropertiesField;
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Neighborhood> NeighborhoodsField;
        
        private string PhoneNumberField;
        
        private int RatingCountField;
        
        private int ReviewCountField;
        
        private double UserRatingField;
        
        private System.Uri WebsiteField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.Generic.Dictionary<string, object> AdditionalProperties {
            get {
                return this.AdditionalPropertiesField;
            }
            set {
                if ((object.ReferenceEquals(this.AdditionalPropertiesField, value) != true)) {
                    this.AdditionalPropertiesField = value;
                    this.RaisePropertyChanged("AdditionalProperties");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Address Address {
            get {
                return this.AddressField;
            }
            set {
                if ((object.ReferenceEquals(this.AddressField, value) != true)) {
                    this.AddressField = value;
                    this.RaisePropertyChanged("Address");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Category> Categories {
            get {
                return this.CategoriesField;
            }
            set {
                if ((object.ReferenceEquals(this.CategoriesField, value) != true)) {
                    this.CategoriesField = value;
                    this.RaisePropertyChanged("Categories");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.Generic.Dictionary<int, Carpool.Bing.Search.CategorySpecificPropertySet> CategorySpecificProperties {
            get {
                return this.CategorySpecificPropertiesField;
            }
            set {
                if ((object.ReferenceEquals(this.CategorySpecificPropertiesField, value) != true)) {
                    this.CategorySpecificPropertiesField = value;
                    this.RaisePropertyChanged("CategorySpecificProperties");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.Neighborhood> Neighborhoods {
            get {
                return this.NeighborhoodsField;
            }
            set {
                if ((object.ReferenceEquals(this.NeighborhoodsField, value) != true)) {
                    this.NeighborhoodsField = value;
                    this.RaisePropertyChanged("Neighborhoods");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string PhoneNumber {
            get {
                return this.PhoneNumberField;
            }
            set {
                if ((object.ReferenceEquals(this.PhoneNumberField, value) != true)) {
                    this.PhoneNumberField = value;
                    this.RaisePropertyChanged("PhoneNumber");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int RatingCount {
            get {
                return this.RatingCountField;
            }
            set {
                if ((this.RatingCountField.Equals(value) != true)) {
                    this.RatingCountField = value;
                    this.RaisePropertyChanged("RatingCount");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int ReviewCount {
            get {
                return this.ReviewCountField;
            }
            set {
                if ((this.ReviewCountField.Equals(value) != true)) {
                    this.ReviewCountField = value;
                    this.RaisePropertyChanged("ReviewCount");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public double UserRating {
            get {
                return this.UserRatingField;
            }
            set {
                if ((this.UserRatingField.Equals(value) != true)) {
                    this.UserRatingField = value;
                    this.RaisePropertyChanged("UserRating");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Uri Website {
            get {
                return this.WebsiteField;
            }
            set {
                if ((object.ReferenceEquals(this.WebsiteField, value) != true)) {
                    this.WebsiteField = value;
                    this.RaisePropertyChanged("Website");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="PersonSearchResult", Namespace="http://dev.virtualearth.net/webservices/v1/search")]
    public partial class PersonSearchResult : Carpool.Bing.Search.SearchResultBase {
        
        private Carpool.Bing.Search.Address AddressField;
        
        private string PhoneNumberField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Address Address {
            get {
                return this.AddressField;
            }
            set {
                if ((object.ReferenceEquals(this.AddressField, value) != true)) {
                    this.AddressField = value;
                    this.RaisePropertyChanged("Address");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string PhoneNumber {
            get {
                return this.PhoneNumberField;
            }
            set {
                if ((object.ReferenceEquals(this.PhoneNumberField, value) != true)) {
                    this.PhoneNumberField = value;
                    this.RaisePropertyChanged("PhoneNumber");
                }
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="LogicalOperator", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public enum LogicalOperator : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        And = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Or = 1,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CompareOperator", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public enum CompareOperator : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Equals = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        GreaterThan = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        GreaterThanOrEquals = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        LessThan = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        LessThanOrEquals = 4,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ResponseBase", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.SearchResponse))]
    public partial class ResponseBase : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Uri BrandLogoUriField;
        
        private Carpool.Bing.Search.ResponseSummary ResponseSummaryField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Uri BrandLogoUri {
            get {
                return this.BrandLogoUriField;
            }
            set {
                if ((object.ReferenceEquals(this.BrandLogoUriField, value) != true)) {
                    this.BrandLogoUriField = value;
                    this.RaisePropertyChanged("BrandLogoUri");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.ResponseSummary ResponseSummary {
            get {
                return this.ResponseSummaryField;
            }
            set {
                if ((object.ReferenceEquals(this.ResponseSummaryField, value) != true)) {
                    this.ResponseSummaryField = value;
                    this.RaisePropertyChanged("ResponseSummary");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ResponseSummary", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public partial class ResponseSummary : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Carpool.Bing.Search.AuthenticationResultCode AuthenticationResultCodeField;
        
        private string CopyrightField;
        
        private string FaultReasonField;
        
        private Carpool.Bing.Search.ResponseStatusCode StatusCodeField;
        
        private string TraceIdField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.AuthenticationResultCode AuthenticationResultCode {
            get {
                return this.AuthenticationResultCodeField;
            }
            set {
                if ((this.AuthenticationResultCodeField.Equals(value) != true)) {
                    this.AuthenticationResultCodeField = value;
                    this.RaisePropertyChanged("AuthenticationResultCode");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Copyright {
            get {
                return this.CopyrightField;
            }
            set {
                if ((object.ReferenceEquals(this.CopyrightField, value) != true)) {
                    this.CopyrightField = value;
                    this.RaisePropertyChanged("Copyright");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string FaultReason {
            get {
                return this.FaultReasonField;
            }
            set {
                if ((object.ReferenceEquals(this.FaultReasonField, value) != true)) {
                    this.FaultReasonField = value;
                    this.RaisePropertyChanged("FaultReason");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.ResponseStatusCode StatusCode {
            get {
                return this.StatusCodeField;
            }
            set {
                if ((this.StatusCodeField.Equals(value) != true)) {
                    this.StatusCodeField = value;
                    this.RaisePropertyChanged("StatusCode");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string TraceId {
            get {
                return this.TraceIdField;
            }
            set {
                if ((object.ReferenceEquals(this.TraceIdField, value) != true)) {
                    this.TraceIdField = value;
                    this.RaisePropertyChanged("TraceId");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="AuthenticationResultCode", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public enum AuthenticationResultCode : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        None = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        NoCredentials = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        ValidCredentials = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        InvalidCredentials = 3,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        CredentialsExpired = 4,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        NotAuthorized = 7,
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ResponseStatusCode", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public enum ResponseStatusCode : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Success = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        BadRequest = 1,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        ServerError = 2,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="GeocodeResult", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.GeocodeLocation))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(Carpool.Bing.Search.UserLocation))]
    public partial class GeocodeResult : object, System.ComponentModel.INotifyPropertyChanged {
        
        private Carpool.Bing.Search.Address AddressField;
        
        private Microsoft.Phone.Controls.Maps.Platform.Rectangle BestViewField;
        
        private Carpool.Bing.Search.Confidence ConfidenceField;
        
        private string DisplayNameField;
        
        private string EntityTypeField;
        
        private System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.GeocodeLocation> LocationsField;
        
        private System.Collections.ObjectModel.ObservableCollection<string> MatchCodesField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Address Address {
            get {
                return this.AddressField;
            }
            set {
                if ((object.ReferenceEquals(this.AddressField, value) != true)) {
                    this.AddressField = value;
                    this.RaisePropertyChanged("Address");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Microsoft.Phone.Controls.Maps.Platform.Rectangle BestView {
            get {
                return this.BestViewField;
            }
            set {
                if ((object.ReferenceEquals(this.BestViewField, value) != true)) {
                    this.BestViewField = value;
                    this.RaisePropertyChanged("BestView");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public Carpool.Bing.Search.Confidence Confidence {
            get {
                return this.ConfidenceField;
            }
            set {
                if ((this.ConfidenceField.Equals(value) != true)) {
                    this.ConfidenceField = value;
                    this.RaisePropertyChanged("Confidence");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string DisplayName {
            get {
                return this.DisplayNameField;
            }
            set {
                if ((object.ReferenceEquals(this.DisplayNameField, value) != true)) {
                    this.DisplayNameField = value;
                    this.RaisePropertyChanged("DisplayName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string EntityType {
            get {
                return this.EntityTypeField;
            }
            set {
                if ((object.ReferenceEquals(this.EntityTypeField, value) != true)) {
                    this.EntityTypeField = value;
                    this.RaisePropertyChanged("EntityType");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<Carpool.Bing.Search.GeocodeLocation> Locations {
            get {
                return this.LocationsField;
            }
            set {
                if ((object.ReferenceEquals(this.LocationsField, value) != true)) {
                    this.LocationsField = value;
                    this.RaisePropertyChanged("Locations");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.ObjectModel.ObservableCollection<string> MatchCodes {
            get {
                return this.MatchCodesField;
            }
            set {
                if ((object.ReferenceEquals(this.MatchCodesField, value) != true)) {
                    this.MatchCodesField = value;
                    this.RaisePropertyChanged("MatchCodes");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Address", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
    public partial class Address : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string AddressLineField;
        
        private string AdminDistrictField;
        
        private string CountryRegionField;
        
        private string DistrictField;
        
        private string FormattedAddressField;
        
        private string LocalityField;
        
        private string PostalCodeField;
        
        private string PostalTownField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string AddressLine {
            get {
                return this.AddressLineField;
            }
            set {
                if ((object.ReferenceEquals(this.AddressLineField, value) != true)) {
                    this.AddressLineField = value;
                    this.RaisePropertyChanged("AddressLine");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string AdminDistrict {
            get {
                return this.AdminDistrictField;
            }
            set {
                if ((object.ReferenceEquals(this.AdminDistrictField, value) != true)) {
                    this.AdminDistrictField = value;
                    this.RaisePropertyChanged("AdminDistrict");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CountryRegion {
            get {
                return this.CountryRegionField;
            }
            set {
                if ((object.ReferenceEquals(this.CountryRegionField, value) != true)) {
                    this.CountryRegionField = value;
                    this.RaisePropertyChanged("CountryRegion");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string District {
            get {
                return this.DistrictField;
            }
            set {
                if ((object.ReferenceEquals(this.DistrictField, value) != true)) {
                    this.DistrictField = value;
                    this.RaisePropertyChanged("District");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string FormattedAddress {
            get {
                return this.FormattedAddressField;
            }
            set {
                if ((object.ReferenceEquals(this.FormattedAddressField, value) != true)) {
                    this.FormattedAddressField = value;
                    this.RaisePropertyChanged("FormattedAddress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Locality {
            get {
                return this.LocalityField;
            }
            set {
                if ((object.ReferenceEquals(this.LocalityField, value) != true)) {
                    this.LocalityField = value;
                    this.RaisePropertyChanged("Locality");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string PostalCode {
            get {
                return this.PostalCodeField;
            }
            set {
                if ((object.ReferenceEquals(this.PostalCodeField, value) != true)) {
                    this.PostalCodeField = value;
                    this.RaisePropertyChanged("PostalCode");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string PostalTown {
            get {
                return this.PostalTownField;
            }
            set {
                if ((object.ReferenceEquals(this.PostalTownField, value) != true)) {
                    this.PostalTownField = value;
                    this.RaisePropertyChanged("PostalTown");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://dev.virtualearth.net/webservices/v1/search/contracts", ConfigurationName="Bing.Search.ISearchService")]
    public interface ISearchService {
        
        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://dev.virtualearth.net/webservices/v1/search/contracts/ISearchService/Search" +
            "", ReplyAction="http://dev.virtualearth.net/webservices/v1/search/contracts/ISearchService/Search" +
            "Response")]
        [System.ServiceModel.FaultContractAttribute(typeof(Carpool.Bing.Search.ResponseSummary), Action="http://dev.virtualearth.net/webservices/v1/search/contracts/ISearchService/Search" +
            "ResponseSummaryFault", Name="ResponseSummary", Namespace="http://dev.virtualearth.net/webservices/v1/common")]
        System.IAsyncResult BeginSearch(Carpool.Bing.Search.SearchRequest request, System.AsyncCallback callback, object asyncState);
        
        Carpool.Bing.Search.SearchResponse EndSearch(System.IAsyncResult result);
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface ISearchServiceChannel : Carpool.Bing.Search.ISearchService, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class SearchCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        public SearchCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        public Carpool.Bing.Search.SearchResponse Result {
            get {
                base.RaiseExceptionIfNecessary();
                return ((Carpool.Bing.Search.SearchResponse)(this.results[0]));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class SearchServiceClient : System.ServiceModel.ClientBase<Carpool.Bing.Search.ISearchService>, Carpool.Bing.Search.ISearchService {
        
        private BeginOperationDelegate onBeginSearchDelegate;
        
        private EndOperationDelegate onEndSearchDelegate;
        
        private System.Threading.SendOrPostCallback onSearchCompletedDelegate;
        
        private BeginOperationDelegate onBeginOpenDelegate;
        
        private EndOperationDelegate onEndOpenDelegate;
        
        private System.Threading.SendOrPostCallback onOpenCompletedDelegate;
        
        private BeginOperationDelegate onBeginCloseDelegate;
        
        private EndOperationDelegate onEndCloseDelegate;
        
        private System.Threading.SendOrPostCallback onCloseCompletedDelegate;
        
        public SearchServiceClient() {
        }
        
        public SearchServiceClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public SearchServiceClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public SearchServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public SearchServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public System.Net.CookieContainer CookieContainer {
            get {
                System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
                if ((httpCookieContainerManager != null)) {
                    return httpCookieContainerManager.CookieContainer;
                }
                else {
                    return null;
                }
            }
            set {
                System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
                if ((httpCookieContainerManager != null)) {
                    httpCookieContainerManager.CookieContainer = value;
                }
                else {
                    throw new System.InvalidOperationException("Unable to set the CookieContainer. Please make sure the binding contains an HttpC" +
                            "ookieContainerBindingElement.");
                }
            }
        }
        
        public event System.EventHandler<SearchCompletedEventArgs> SearchCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> OpenCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> CloseCompleted;
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.IAsyncResult Carpool.Bing.Search.ISearchService.BeginSearch(Carpool.Bing.Search.SearchRequest request, System.AsyncCallback callback, object asyncState) {
            return base.Channel.BeginSearch(request, callback, asyncState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        Carpool.Bing.Search.SearchResponse Carpool.Bing.Search.ISearchService.EndSearch(System.IAsyncResult result) {
            return base.Channel.EndSearch(result);
        }
        
        private System.IAsyncResult OnBeginSearch(object[] inValues, System.AsyncCallback callback, object asyncState) {
            Carpool.Bing.Search.SearchRequest request = ((Carpool.Bing.Search.SearchRequest)(inValues[0]));
            return ((Carpool.Bing.Search.ISearchService)(this)).BeginSearch(request, callback, asyncState);
        }
        
        private object[] OnEndSearch(System.IAsyncResult result) {
            Carpool.Bing.Search.SearchResponse retVal = ((Carpool.Bing.Search.ISearchService)(this)).EndSearch(result);
            return new object[] {
                    retVal};
        }
        
        private void OnSearchCompleted(object state) {
            if ((this.SearchCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.SearchCompleted(this, new SearchCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void SearchAsync(Carpool.Bing.Search.SearchRequest request) {
            this.SearchAsync(request, null);
        }
        
        public void SearchAsync(Carpool.Bing.Search.SearchRequest request, object userState) {
            if ((this.onBeginSearchDelegate == null)) {
                this.onBeginSearchDelegate = new BeginOperationDelegate(this.OnBeginSearch);
            }
            if ((this.onEndSearchDelegate == null)) {
                this.onEndSearchDelegate = new EndOperationDelegate(this.OnEndSearch);
            }
            if ((this.onSearchCompletedDelegate == null)) {
                this.onSearchCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSearchCompleted);
            }
            base.InvokeAsync(this.onBeginSearchDelegate, new object[] {
                        request}, this.onEndSearchDelegate, this.onSearchCompletedDelegate, userState);
        }
        
        private System.IAsyncResult OnBeginOpen(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(callback, asyncState);
        }
        
        private object[] OnEndOpen(System.IAsyncResult result) {
            ((System.ServiceModel.ICommunicationObject)(this)).EndOpen(result);
            return null;
        }
        
        private void OnOpenCompleted(object state) {
            if ((this.OpenCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.OpenCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void OpenAsync() {
            this.OpenAsync(null);
        }
        
        public void OpenAsync(object userState) {
            if ((this.onBeginOpenDelegate == null)) {
                this.onBeginOpenDelegate = new BeginOperationDelegate(this.OnBeginOpen);
            }
            if ((this.onEndOpenDelegate == null)) {
                this.onEndOpenDelegate = new EndOperationDelegate(this.OnEndOpen);
            }
            if ((this.onOpenCompletedDelegate == null)) {
                this.onOpenCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnOpenCompleted);
            }
            base.InvokeAsync(this.onBeginOpenDelegate, null, this.onEndOpenDelegate, this.onOpenCompletedDelegate, userState);
        }
        
        private System.IAsyncResult OnBeginClose(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((System.ServiceModel.ICommunicationObject)(this)).BeginClose(callback, asyncState);
        }
        
        private object[] OnEndClose(System.IAsyncResult result) {
            ((System.ServiceModel.ICommunicationObject)(this)).EndClose(result);
            return null;
        }
        
        private void OnCloseCompleted(object state) {
            if ((this.CloseCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.CloseCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void CloseAsync() {
            this.CloseAsync(null);
        }
        
        public void CloseAsync(object userState) {
            if ((this.onBeginCloseDelegate == null)) {
                this.onBeginCloseDelegate = new BeginOperationDelegate(this.OnBeginClose);
            }
            if ((this.onEndCloseDelegate == null)) {
                this.onEndCloseDelegate = new EndOperationDelegate(this.OnEndClose);
            }
            if ((this.onCloseCompletedDelegate == null)) {
                this.onCloseCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnCloseCompleted);
            }
            base.InvokeAsync(this.onBeginCloseDelegate, null, this.onEndCloseDelegate, this.onCloseCompletedDelegate, userState);
        }
        
        protected override Carpool.Bing.Search.ISearchService CreateChannel() {
            return new SearchServiceClientChannel(this);
        }
        
        private class SearchServiceClientChannel : ChannelBase<Carpool.Bing.Search.ISearchService>, Carpool.Bing.Search.ISearchService {
            
            public SearchServiceClientChannel(System.ServiceModel.ClientBase<Carpool.Bing.Search.ISearchService> client) : 
                    base(client) {
            }
            
            public System.IAsyncResult BeginSearch(Carpool.Bing.Search.SearchRequest request, System.AsyncCallback callback, object asyncState) {
                object[] _args = new object[1];
                _args[0] = request;
                System.IAsyncResult _result = base.BeginInvoke("Search", _args, callback, asyncState);
                return _result;
            }
            
            public Carpool.Bing.Search.SearchResponse EndSearch(System.IAsyncResult result) {
                object[] _args = new object[0];
                Carpool.Bing.Search.SearchResponse _result = ((Carpool.Bing.Search.SearchResponse)(base.EndInvoke("Search", _args, result)));
                return _result;
            }
        }
    }
}
